home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Night Owl 6
/
Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso
/
029a
/
helppc.zip
/
HELPPC.DOC
< prev
next >
Wrap
Text File
|
1990-11-27
|
20KB
|
425 lines
HelpPC 2.0 PC Programmers Utility Copyright (c) 1990, David Jurgens
Audience
========
This program is designed for the intermediate to advanced PC programmer
who knows what he's doing, but just can't remember specific information
necessary to program advanced features of the PC or PS/2. This utility
is comprised of a collection of information found in manufacturer
technical reference manuals, various commercial books, technical topics
discussed on CompuServe's technical forums, public domain articles and
my own snooping, all organized in a single database. The help topics
include BIOS interrupts, DOS interrupts and functions, EMS and Mouse
functions, BIOS and DOS data structures, diagnostic codes, DOS commands,
80x86 assembler instructions/directives, Standard C functions and
various hardware specifications.
Installation
============
This utility requires the following:
DOS 2.0 or greater
64K of free RAM
a hard disk system is recommended
Installation involves two steps. First, simply dearchive the HelpPC.EXE
file (may be HelpPC.ZIP or HelpPC.ARC). Second, issue the following
command:
SET HLP=d:dirname (no blanks, except between "SET HLP")
Where 'd:' is the drive and 'dirname' is the directory where the help .TXT
files exist (this should be fully qualified, with or without the trailing
'\'). The HelpPC.COM file can exist anywhere that it can be accessed
through the DOS command search path (PATH). The "SET HLP=" command
should be placed in the AUTOEXEC.BAT file to allow access to HelpPC each
time your machine is restarted.
As an example, if the files HelpPC.NDX and the .TXT files reside in
a directory named C:\HELPINFO then use:
SET HLP=C:\HELPINFO
or
SET HLP=C:\HELPINFO\
The name HelpPC was chosen to avoid conflict with the HELP command
available with some OEM versions of DOS. I'd recommend that you
rename HelpPC.COM to a name you find convenient and easy to remember
like "H.COM", "HELP.COM" or "INFO.COM".
HelpPC 2.0 PC Programmers Utility Copyright (c) 1990, David Jurgens
Background
==========
As programmers, we tend to gather massive amounts of books, journals
and magazines. Each of these items have some important detail that
is generally out of our reach since we can't carry them with us
everywhere we go. That's why I started this project, to free myself
from having to first find the manuals or articles and then weed through
all the mundane text to get to an exact answer. In the past few years
it has saved me a lot of time previously spent rummaging through manuals.
HelpPC initially began somewhere around 1985 when I decided that
I spent way too much time searching for the same information over
and over again. At that time my primary references were David
Wilson's BIOS & DOS quick reference cards and Peter Norton's
"Programmers Guide to the IBM PC". I generated an indexed help
file from David Wilson's original work and slowly added information
to each topic. The result of several years work is no longer a
duplicate of David's fine work but a complete database of PC
technical topics. Each time I had to look up a new PC related
topic, I made a note that it should be added to the database. As
time passed the database grew more and more complete and I found
little need to look to other sources for information. I then began
adding information people were requesting in messages on CompuServe's
IBMPRO, BPROGB, MSSYS (now MSLANG and MSOPSYS), CLMFORUM and IBMCOM
forums. The database is forever growing with each new feature and
specification made available.
All information included within HelpPC has been confirmed against
available sources. The comparison of information usually progressed
along the same paths. Initially Norton's "Programmers Guide to the
IBMPC" and Duncan's "Advanced MS-DOS" were the two sources I turned
to for verification. Later I began using Dettemann and Kyle's "DOS
Programmers Reference", Thom Hogan's "The Programmers PC Sourcebook",
and the "MS-DOS Encyclopedia". When something wasn't covered well
in any of these references or there was a discrepancy, I turned to
the "IBM PC/XT Technical Reference Manual" , the "IBM PC/AT Technical
Reference Manual" and the "DOS Technical Reference Manual". All
hardware specific information is verified with the respective vendor's
technical specification manuals.
Credit is given to the sources if any of their data is included
in HelpPC. One note I should make clear is that the information
on many of the topics appears as if it were straight out of Norton,
Duncan, Dettemann or from Ralf Brown. These and many other sources
were referenced but none of the material is plagiarized and any
similarity is due to the nature of the material. If you compare
any of the aforementioned references, they all contain approximately
the same data in very similar formats.
The main program is a quick reference utility that allows quick
viewing of the help database from the DOS command line. The program,
which is less than 9K in size, is written in C with a little assembler
sprinkled in for speed/size optimization. A 43 and 50 line mode is
supported for those that like to squint. A TSR version is available
which has several enhancements over the command line version, including
dual monitor support and context sensitive help (see below for more
information).
HelpPC 2.0 PC Programmers Utility Copyright (c) 1990, David Jurgens
Future plans for HelpPC include NetBIOS interface information, more
hardware information, dBASE programming topics, Pascal Topics and
completion/separation of C topics between ANSI, Turbo C and Microsoft C.
A DOS command database is available but not included due to space
restrictions.
Usage
=====
HelpPC has three modes of operation. At first the most useful will be
the menu driven interface that allows you to point and shoot at your topic.
Entering HelpPC without a command line puts you in menu mode. The second
mode is the command line mode which allows you to specify the text to
search for on the command line. The third mode is available from either
of the two other modes and prompts you for information. Prompted mode
becomes the default after using the command line mode. To switch between
prompted mode and menu mode, use the F1 key.
Also included are two command files INDEXHLP.COM and BUILD.BAT.
INDEXHLP.COM is the file index utility. Usage is very simple; you just
include the files you plan to index on the command line. Issuing the
INDEXHLP command gives instructions on usage. BUILD.BAT is a batch file
provided to simplify using INDEXHLP. It indexes the default databases
in the distribution and allows you to specify your own additional
databases. BUILD without parameters indexes the default databases.
If any file names are supplied, they are also indexed.
If the HelpPC program is used in a batch file, the parameters to it
must not be variable parameters (%0..%9). This is because when DOS
parses the batch file parameters, it strips out commas. Commas are
valid in topics and if removed by the parser will change the command
line presented to HelpPC. This usually results in the "Topic not
found in index" message.
Keys used in navigating through HelpPC
======================================
Esc Exit current screen or HelpPC (Tilde also works as Esc)
End Moves text or menu to the last line/item
Home Moves text or menu to the first line/item
PgUp Moves text or menu to page top or previous page
PgDn Moves text or menu to page bottom or next page
F1 Switches from menu to prompting mode and vice versa
Alt-P Write current topic to printer. HelpPC has builtin error
detection for normal printers but if LPT1 is redirected to a
serial printer the system may hang until the printer is ready.
This is a very common, though undesirable behavior among printers.
Alt-W Write text to file HelpPC.DAT in the current directory
Alt-X Exit HelpPC and without clearing current screen
HelpPC 2.0 PC Programmers Utility Copyright (c) 1990, David Jurgens
43/50 Line users
================
Some versions of DOS and ANSI.SYS replacements do not handle 43/50
line mode correctly. If the bottom half of the display does not
scroll correctly in 43/50 line mode, either upgrade to a newer DOS
or set 43/50 line mode through a program like NANSI.SYS. This is a
problem in some DOS's and not HelpPC.
TSR Version
===========
A TSR version is available to those that register HelpPC. It is not
included in the default distribution. The TSR version is very capable
and was designed for both the high level programmer and the beginner.
The following is a list of features it includes:
1. Supports single or dual monitor systems. On dual monitor systems
(Color and Monochrome) you can get popup help on the alternate
monitor without disturbing your current screen.
2. Supports context sensitive help so you can position your cursor on a
text item and HelpPC will popup with information on the topic if
available. This is very useful when editing source code and you need
to know how to use a function or command. An example would be while
editing an assembler file, you need to know what flags are affected
by an "ADC" instruction. You just position your cursor on the "ADC"
instruction and press the hot keys. Help information for the "ADC"
instruction will appear.
3. Supports alternate popup key sequences to avoid conflict with other TSR's
and buggy keyboard BIOS's.
4. Has a similar interface to the command line version but with options to
customize the behavior during popup.
5. Supports TSR unload to free existing RAM.
6. Compatible with several programmers editors including Brief, Epsilon,
Norton, Qedit, Fastwrite and dBASE III. Others should be compatible
but haven't been tested. (Epsilon requires enabling a popup hotkey).
7. Supports command line options to control the behavior when the TSR
pops up. An example would be whether to popup in menu or prompted
mode or to disable context sensitive help.
Memory usage varies depending on the databases in use. The minimum amount
used is 28K which allows 1436 topics.
HelpPC 2.0 PC Programmers Utility Copyright (c) 1990, David Jurgens
Files in the default release of HelpPC
======================================
BUILD.BAT - A batch file that uses INDEXHLP to rebuild the help index.
This is the simplest way to rebuild the databases.
HELPPC.DOC - The file you're reading now.
HELPPC.COM - A display utility that reads the index and databases
and displays the information. I recommend that you
rename this program to something you find convenient
to use like "H.COM", "HELP.COM" or "INFO.COM". I prefer
"HELP.COM", which conflicts with the DOS HELP command
that is supplied with some OEM versions of MS DOS.
INDEXHLP.COM - The help file index utility. Type INDEXHLP for information
on usage.
HELPPC.NDX - The data index. Contains index information on data in
each of the .TXT files. HelpPC finds this file through
the environment variable "HLP".
README - A brief description of how to get started.
REGISTER.FRM - A registration form.
Data Files:
*.TXT - The forever growing database files containing all of the
technical data. These are standard ASCII text files
with each line ending in a CR/LF. HelpPC finds these
files through the environment variable "HLP".
ASM.TXT - Assembler programming topics
C.TXT - ANSI, Microsoft and Turbo C functions and programming
topics. This may be split into C.TXT, MSC.TXT and TC.TXT
in future releases of HelpPC.
HARDWARE.TXT - Hardware relative programming topics.
INTERRUP.TXT - Documented and undocumented interrupts.
MISC.TXT - Miscellaneous topics that have no logical grouping
TABLES.TXT - Tables, structures and formats of BIOS, DOS and other
programming related tabular information.
Version News
============
2.0 Added menus and file indexer; first shareware release.
1.51 Added partial pattern matching for topic searches.
1.5 A minor bug in the 43/50 line mode of version 1.4 has been fixed.
Over 900 topics are now included.
1.4 The user interface has been changed from page mode scrolling to line
mode scrolling. 43/50 line support has been added as well.
The instruction set for the entire Intel 80x86 family has been added
to the database. This version saw limited distribution.
1.2 EMS and Mouse functions were added to the database. Over 750 topics
were included. (limited distribution)
1.1 Maintenance release of the database. Several topics were added
and existing ones were cleaned up.
1.0 Original release.
HelpPC 2.0 PC Programmers Utility Copyright (c) 1990, David Jurgens
Creating your own help files
============================
HelpPC in its standard form can handle 2000 indexed topics and 16
independent help files. If you find you need a larger capacity, please
contact me at one of the addresses below. Each file must have its own
title which will show up in the main menu. Each topic following the
file title (see below) will show up in the subtopic menu. Also note
that HelpPC will adjust the menu format based on the screen height and
the number of items in the main menu.
HelpPC text files are simple ASCII files that contain control codes in
column one. Each file must contain a title in the first line. The
remainder of the file consists of keyed lines and help text. Each line
must end with a CR/LF pair (standard DOS format) and shouldn't be longer
than 70 characters. Tabs are treated as physical data and are not
handled logically. The following is a list of keys:
'@' in column 1 indicates a file title which will appear in
the main topic menu. This must be the very first line
in the file and has a maximum length of 40 characters
(excluding the '@').
':' in column 1 indicates a subtopic key. Multiple keys separated
by colons ':' can be entered on the same line.
'#' in column 1 indicates a highlighted title line (not centered)
'^' in column 1 indicates a centered highlighted title
'<' text that should not be shifted right
' ' in column 1 indicates a text line. Text lines are shift
right 7 characters when displayed.
any other character in column 1 is invalid
Use the BUILD command to index/reindex the default help text files.
To add your own files to the index use the command:
BUILD [fname [file2 ...]]
This information is available in HelpPC with the topic "HELPPC FORMAT".
Limits of the HelpPC program
============================
Max items in main topic menu: 16
Max items in subtopic menu: 512
Max topics in index: 2000
Max size of topic text: 16384 bytes
Max lines of text per topic: 512
Max topic key length: 20
Max file title length: 40
No limit on file size
HelpPC 2.0 PC Programmers Utility Copyright (c) 1990, David Jurgens
Registration
============
This software is shareware and requires registration if you find it of
some value and continue to use it after the 30 day trial. Registration
costs $25 in the United States ($30 otherwise) and places you on the
update mailing list and will provide you with the latest version of
the program and the databases. As an added bonus those that register
will receive the TSR version and other databases not included in the
default distribution. For more information on the TSR version, see the
information above. Registration also provides me with the resources to
continue work on HelpPC. A registration form is included in the file
REGISTER.FRM.
This registration fee is not necessary for those that have registered
previous versions of HelpPC or for copies to be used on PC's owned by
CompuServe Incorporated.
Thanks to the following:
========================
David Wilson of IBM for his BIOS/DOS reference cards which gave me the
idea that started all of this. Jeff Miller of CompuServe for supporting
the project and providing helpful feedback. Mark Grim for entering some
of the text. Phil George and Ted Stephens for supporting and testing
throughout the project cycle. Dave Drown, Jerry Gibson, Charles Lazo III,
Jim Milligan, David Wilson (of CCS) and Ali Vardag for testing and/or
providing feedback. Ray Duncan, Chris Dunford, Richard K. Herzog, Jim Kyle,
Micheal Mohle, Chip Rabinowitz and Barry Simon for sharing their vast
knowledge with the rest of us on CompuServe. Ralf Brown for maintaining
"the" interrupt lists. Brett Salter and The Periscope Company for the
awesome Periscope debugger which was the main bug buster used in writing
HelpPC.
Thanks to the following authors for writing such great books which HelpPC
relied upon for verification:
"DOS Programmer's Reference", 2nd Edition by Terry Dettemann and Jim Kyle
"Advanced MS DOS" by Ray Duncan
"Programmer's PC Sourcebook" by Thom Hogan
"Programmer's Guide to the IBM PC" by Peter Norton
"Programmer's Guide to PC & PS/2 Video Systems" by Richard Wilton
HelpPC 2.0 PC Programmers Utility Copyright (c) 1990, David Jurgens
In Closing
==========
Use it, try to break it or just tell me what you did or didn't like about
it or what you'd like to see added. If you find any discrepancies, errors
or typos, I would appreciate corrections and any suggestions for improvement.
Additions to the help files are welcome and can be submitted to me via any
of the following addresses. If the information you provide is used in
HelpPC, you will be given credit for the work. If at all possible, please
contact me using one of the below addresses and I will try to correct the
problem.
Please share this program with your friends; but please, if you do redistribute
this, please distribute it in its original .ARC, .ZIP or LHARC form, without
modification. If you think it's a worthwhile program, please register. Your
registrations will allow me to continue work on HelpPC.
I can be reached at any of the following addresses:
US Snail: David Jurgens
1550 Alton Darby Creek Road
Columbus, Ohio 43228
CompuServe: 70004,30 (read daily)
71270,2422 (read weekly)
Disclaimer
==========
The program contained herein, in its original form, is designed to work
with PC's which are completely IBM DOS and IBM BIOS compatible and has
been tested on a myriad of PC's and compatibles. The information
contained within the help databases is correct to the best of my knowledge
and ability. Since it was compiled from various sources, some in complete
disagreement and some continually changing specifications, I cannot be
responsible for omissions, inaccuracies or plain errors of any type.
I make no claims to value of the enclosed programs or files, or their
behavior and assume no liability for damages either from the direct use
of this product or as a consequence of the use/misuse of this product.
Hence this program and all information contained within SHOULD BE USED
AT ONE'S OWN RISK.
This disclaimer is included to absolve me from legal issues brought about
by today's litigious society.